package com.example.testplatform.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 自定义权限注解
 * 用于标记需要权限控制的方法
 */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface RequirePermission {
    
    /**
     * 所需的菜单权限编码
     * @return 菜单权限编码数组
     */
    String[] value() default {};
    
    /**
     * 是否需要超级管理员权限
     * @return true表示需要超级管理员权限，false表示不需要
     */
    boolean requireAdmin() default false;
}